home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / bind-contrib.tar.gz / bind-contrib.tar / contrib / hostmaint / nictxt2host.awk < prev    next >
Encoding:
AWK Script  |  1996-10-25  |  1.3 KB  |  44 lines

  1. BEGIN { FS = ":" }
  2. /^HOST/ {
  3.   ips = $2;
  4.   while (substr(ips,1,1) == " ") ips = substr(ips,2,length(ips)-1);
  5.   while (substr(ips,length(ips),1) == " ") ips = substr(ips,1,length(ips)-1);
  6.   names = $3;
  7.   while (substr(names,1,1) == " ") names = substr(names,2,length(names)-1);
  8.   while (substr(names,length(names),1) == " ") names = substr(names,1,length(names)-1);
  9.   ni = 1;
  10.   j = 1;
  11.   for (i=1; i < length(ips); i++) {
  12.     if (substr(ips,i,1) == ",") {
  13.       iplist[ni++] = substr(ips,j,i-j);
  14.       j = i+1;
  15.     }
  16.   }
  17.   iplist[ni] = substr(ips,j,i);
  18.   nn = 1;
  19.   j = 1;
  20.   for (i=1; i < length(names); i++) {
  21.     if (substr(names,i,1) == ",") {
  22.       nlist[nn++] = substr(names,j,i-j);
  23.       j = i+1;
  24.     }
  25.   }
  26.   nlist[nn] = substr(names,j,i);
  27.   for (ii=1; ii <= ni; ii++) {
  28.     ip = iplist[ii]
  29.     while (substr(ip,1,1) == " ") ip = substr(ip,2,length(ip)-1);
  30.     while (substr(ip,length(ip),1) == " ") ip = substr(ip,1,length(ip)-1);
  31.     printf "%s\t", ip
  32.     for (n=1; n <= nn; n++) {
  33.       name = nlist[n];
  34.       while (substr(name,1,1) == " ") name = substr(name,2,length(name)-1);
  35.       while (substr(name,length(name),1) == " ") name = substr(name,1,length(name)-1);
  36.       printf "%s ", name;
  37.     }
  38.     printf "\n";
  39.   }
  40.   next;
  41. }
  42. /^;/ { printf "#%s\n", substr($0,2,length($0)) }
  43. { next }
  44.